home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / misc / zpoint_3_14.lha / zpoint-3.14 / Rexx / Anon.zprx < prev    next >
Text File  |  1995-08-21  |  7KB  |  228 lines

  1. /*
  2.    $VER: Anon.zprx 1.2 (19.8.95) Copyright 1995 (c) Nils Görs.
  3.  
  4.  
  5.    Funktionsbeschreibung:
  6.  
  7.     Dieses  Skript wurde erstellt, um  ganz bequem eine Nachricht über
  8.     den Anon-Server zu versenden.
  9.  
  10.  
  11.   Benutzung:
  12.  
  13.     Schreiben  bzw.  kommentieren sie eine Nachricht  wie  bisher. Nun
  14.     können Sie die Nachricht "Versenden" oder "Speichern".
  15.     Wenn Sie "Versenden" gewählt haben sollten, dann  müssen  Sie sich
  16.     in das Spool-Brett begeben und von dort "Anon.zprx" aufrufen.
  17.  
  18.     Falls  Sie "Speicher" gewählt haben sollten,  dann  können Sie  im
  19.     Brett bleiben und rufen dort "Anon.zprx" auf. Die  alte  Nachricht
  20.     wird hierbei kommentarlos aus dem SPOOL-Brett gelöscht.
  21.     "Anon.zprx", speichert die neue Nachricht auch im aktuellen Brett.
  22.  
  23.  
  24.    Installation:
  25.  
  26.     Kopieren sie dieses Skript in  das  Rexx-Verzeichnis  von  ZP  und
  27.     fügen  sie  danach  der  Datei  'fkeys.zp'  auf Wunsch den Eintrag
  28.     "F1:SYS:Rexxc/RX ZPOINT:Rexx/Anon.zprx %s" hinzu.
  29.  
  30.     Alternativ hierzu können Sie auch folgende  Zeilen  in  die  Datei
  31.     usermenus.zp einfügen:
  32.  
  33.     *Versand via Anon
  34.     SYS:Rexxc/RX Zodiac:Rexx/Anon.zprx %s
  35.  
  36.  
  37.    Copyright:
  38.  
  39.     Sie dürfen dieses Skript  beliebig kopieren, solange  es  zusammen
  40.     mit  Zodiac's Point  eingesetzt wird, aber  verändern Sie es bitte
  41.     nicht ohne Erlaubnis des Autors.
  42.  
  43.  
  44.    Autor dieses Skripts:
  45.  
  46.        Nils Görs              Tel. : +49 (0)202 784258
  47.        Kaiserstr. 97a         EMail: N.Goers@Art-Line.Art-Line.de
  48.        42329 Wuppertal          oder über das ZP-Support-Brett.
  49.  
  50.    Verwenden Sie bitte nach Möglichkeit elektronische Post!
  51. */
  52.  
  53. /*  Wie lautet die Adresse von Anon? */
  54. AnonAdresse    = "anon@anon.penet.fi"
  55.  
  56. /* und wie lautet Ihr Passwort? */
  57. AnonPasswort   = "mein Anon-Passwort"
  58.  
  59. /* soll die Originalnachricht entfernt werden?
  60.    0 = mit Sicherheitsabfrage
  61.    1 = ohne Sicherheitsabfrage                                    */
  62. DelImmer       = 0
  63.  
  64. /* Name Ihrer privaten Adresse (OHNE Domain) ? */
  65. MeinName = "N.Goers@"
  66. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  67.  *      Bitte geben Sie hier ihre Präferenzen ein !                *
  68.  *******************************************************************/
  69.  
  70. /*******************************************************************
  71.  *      Bitte unterhalb dieser Zeile nichts mehr verändern!        *
  72.  *******************************************************************/
  73.  
  74. wopts          = ''
  75. Datei.tmp      = "t:anon.tmp"
  76. NL             = '0a'x
  77. None           = "-NONE-"
  78. Bezug          = "BEZ"
  79. Crypto         = "CRYPT"
  80. Diskussion     = "Diskussion-in"
  81. Empfangsbest   = "EB"
  82. PGPSignatur    = "PGP-SIG"
  83.  
  84. OPTIONS RESULTS
  85. /* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
  86. PARSE ARG zpPort
  87. IF zpPort == "" THEN
  88.    zpPort = "ZPoint"
  89. ADDRESS VALUE zpPort
  90.  
  91. 'GUILOCK text="Bitte etwas Geduld..."'
  92. /* --- Dieses Skript darf nur im Brett ausgeführt werden --- */
  93. WHICHLEVEL
  94.  IF Result ~= "BOARD" then DO
  95.   REQUESTNOTIFY "Bitte begeben Sie sich in ein Brett!"
  96.   EXIT
  97.  END
  98.  
  99. SERVER
  100. ServerName=RESULT
  101.  
  102. BOARDINFO LABEL; Brettname=Result
  103.  IF INDEX(Brettname,'(Spool') == 0 THEN DO
  104.    MESSAGEINFO RECEIVER
  105.     IF (RESULT = AnonAdresse) THEN DO
  106.      REQUESTNOTIFY "Diese Nachricht wird schon via" AnonAdresse "versendet!"
  107.      EXIT
  108.     END
  109.    MESSAGEINFO ID
  110.    oldID = RESULT
  111.    wopts = wopts 'SAVE'
  112.  END
  113.  
  114.  origName = UPPER(MeinName||servername)
  115.  MESSAGEINFO RECEIVER
  116.  Receivername=RESULT
  117.   Receivername2 = UPPER(Receivername)
  118.  
  119.  IF ABBREV(Receivername2,origName) THEN
  120.   DO
  121.    MESSAGEINFO AUTHOR
  122.    ReceiverName=RESULT
  123.     Receivername2 = UPPER(Receivername)
  124.     IF ABBREV(Receivername2,origName) THEN
  125.      DO
  126.       requestnotify "Wieso wollen Sie eine anonyme",
  127.                   NL"Nachricht an Ihre eigene Adresse senden ??"
  128.       EXIT
  129.      END
  130.   END
  131.  
  132.     IF (ReceiverName = AnonAdresse) THEN DO
  133.      REQUESTNOTIFY "Diese Nachricht wird schon via" AnonAdresse "versendet!"
  134.      EXIT
  135.     END
  136.  
  137. /* jetzt scheint alles klar zu sein und die Originalnachricht
  138.    wird aus dem SPOOL-Brett entfernt ! */
  139.    CALL _DeleteMessInSpool
  140.     JUMPTOMESSAGE 'ID' oldID
  141.      IF (RC) == 0 THEN DO
  142.       REQUESTNOTIFY "Wo ist denn die Originalnachricht geblieben?"
  143.       EXIT
  144.      END
  145.  
  146. /* Welche Parameter enthält die Originalnachricht ?? */
  147. MESSAGEINFO FULLSUBJECT
  148. SubjectName=RESULT
  149.  
  150.  FINDHEADER Crypto
  151.   IF RESULT ~= None THEN
  152.    DO
  153.     requestnotify "MITTEILUNG: Hallo lieber Anwender,",
  154.                   NL"bisher habe ich noch keine PGP/QCP",
  155.                   NL"Unterstützung eingebaut. Falls Sie",
  156.                   NL"aber eine solche Unterstützung be-",
  157.                   NL"nötigen, dann setzen Sie sich doch",
  158.                   NL"bitte mit mir in Verbindung.      "
  159.  
  160. /*
  161.   Ich persönlich sehe keinen Sinn darin Nachrichten PGP zu kodieren,
  162.   die man anonym versendet. Sehen Sie es anders ??
  163. */
  164.  
  165.    EXIT
  166. END
  167.  
  168.  FINDHEADER Empfangsbest
  169.   IF RESULT ~= None THEN  wopts = wopts 'CONFIRM'
  170.  FINDHEADER Diskussion
  171.   IF RESULT ~= None THEN  wopts = wopts 'FOLLOWUP' '"'RESULT'"'
  172.  FINDHEADER ALL Bezug
  173.   IF RESULT ~= None THEN  wopts = wopts 'REFERENCES' '"'RESULT'"'
  174.  MESSAGEINFO TYPE
  175.   IF RESULT == "BINARY" THEN wopts = wopts 'BINARY'
  176.  
  177. IF ~OPEN(Dat,Datei.tmp||zpPort,"Write") THEN
  178.  DO
  179.   REQUESTNOTIFY "Ich konnte die Datei" Datei.tmp||zpPort "nicht zum schreiben öffnen!"
  180.   EXIT
  181.  END
  182.  CALL WRITELN(Dat,"X-Anon-To:" Receivername)
  183.  CALL WRITELN(Dat,"X-Anon-Password:" AnonPasswort)
  184. CALL CLOSE(Dat)
  185.  
  186. SAVEMESSAGEBODY Datei.tmp||zpPort
  187. WRITEMESSAGE Datei.tmp||zpPort,
  188.                         'RECEIVER' AnonAdresse,
  189.                         'SUBJECT'  '"'SubjectName'"',
  190.                          wopts
  191.  
  192. IF RESULT = '' THEN DO            /* Hups! Fehler! */
  193.     REQUESTNOTIFY "Konnte Nachricht nicht verschicken!"
  194.     CALL _DeleteTemps
  195. END
  196.  
  197. IF DelImmer == 0 THEN            /* Soll nachgefragt werden? */
  198.    DO                    /* Soll die Nachricht gelöscht werden ? */
  199.     REQUESTRESPONSE "Soll die Ursprungsnachricht gelöscht werden?"
  200.     DelImmer = RC
  201.    END
  202.     IF DelImmer = 1 THEN DELETE ONE    /* Wenn 1, dann Nachricht löschen! */
  203.  
  204. /************************************
  205.  * im Speicher alles wieder löschen *
  206.  * und das Skript beenden!          *
  207.  ************************************/
  208. _DeleteTemps:
  209.      ADDRESS COMMAND 'delete' Datei.tmp||zpPort '>NIL:'
  210.      GUILOCK off            /* Die GUI wieder freigeben! */
  211.     EXIT
  212.  
  213. /***************************************************
  214.  * diese Routine ist dafür zuständig, daß die alte *
  215.  * Nachricht aus dem Spool-Brett entfernt wird!    *
  216.  ***************************************************/
  217. _DeleteMessInSpool:
  218. BOARDMENU
  219. JUMPTOBOARD 1
  220.  ENTERBOARD
  221.   JUMPTOMESSAGE 'ID' oldID
  222.   IF (RC) == 1 THEN DELETE ONE
  223.   BOARDMENU
  224.  JUMPTOBOARD 'NAME' BrettName
  225. ENTERBOARD
  226. RETURN
  227. /*EOS*/
  228.